namespace SharedKernel.Infrastructure.EventBus.RabbitMQ
{
    /// <summary>
    /// RabbitMQ配置选项
    /// </summary>
    public class RabbitMQOptions
    {
        /// <summary>
        /// 主机名
        /// </summary>
        public string HostName { get; set; } = "localhost";

        /// <summary>
        /// 端口
        /// </summary>
        public int Port { get; set; } = 5672;

        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName { get; set; } = "guest";

        /// <summary>
        /// 密码
        /// </summary>
        public string Password { get; set; } = "guest";

        /// <summary>
        /// 虚拟主机
        /// </summary>
        public string VirtualHost { get; set; } = "/";

        /// <summary>
        /// 交换机名称
        /// </summary>
        public string ExchangeName { get; set; } = "microservice.eventbus";

        /// <summary>
        /// 交换机类型
        /// </summary>
        public string ExchangeType { get; set; } = "direct";

        /// <summary>
        /// 是否持久化消息
        /// </summary>
        public bool PersistentMessages { get; set; } = true;
    }
}